Google Cloud Certified Professional Data Engineer: Pr. Tests②
BigQuery
BigQueryのユーザーのアクティビティ
Stackdriver audit logs
キャッシュが効いていない
日付テーブルのワイルドカード
destination table
アドレスカラムから郵便番号を抜き出して新しいカラムをテーブルに追加したい
zipcodeカラムをテーブルに追加する→updateでセットする
/icons/point.iconカラム名の変更は無理だけど、カラムの追加はできるのね
Bigtable
高可用性とハイパフォーマンス
develoment→production
ノード数を増やす
SSD
パフォーマンステスト
productionインスタンス
最低でも300GBのデータを使用する
最低でも10分以上は動かす
Dataflow
日時でCSVをBigQueryに読み込む。不正なCSVだった場合にそれをハンドルするには?
Dataflowのバッチパイプライン
不正なcsvについてはdead letter fileとしてGCSに保管
気温をセンサーから収集していて60秒毎の移動平均
スライディングウィンドウ
32人のバトロワで放置プレイヤーを検知する
セッションウィンドウでギャップ時間を60秒
ストリーミングデータを処理するパイプラインのコードを修正することになった
drainで止める
Dataproc
オンプレHDFSからDataproc + GCSに移行したらIOがボトルネックでパフォーマンスが劣化した
GCSの代わりにローカルHDFSを使用する
IOがやばいワークロードの時にはローカルHDFSを使ってDataprocを構成するのがいい
Pub/Sub
Pubsubはイベントデータを収集する。この時にtimestampをメッセージに付与したりはしない
→Publisher側でtimestampを付与する必要がある
Spanner
パフォーマンスが悪い
主キーが単純増加している
主キーがtimestampと元の主キーとの組み合わせになっている
主キーの設計が悪いとうまいこと分散しない
セキュリティ
自分たちで用意した暗号キーでGCSのファイルを暗号化
GCSにデータを書き込む際に暗号化キーも渡す
/icons/point.iconKMSではないので注意
自分のキーによってGoogleが暗号化に使用するキーを保護する
https://gyazo.com/7a0e0abcc375ca3345f706d6b909e622
GCE
Snapshotからインスタンスを作成して現在のインスタンスと入れ替える
Snapshotから直接インスタンスを作成できる
/icons/point.iconsnapshotからpd創るみたいな回りくどいことはない
機械学習
特徴量
カテゴリカル→郵便番号
連続→収入、年齢
モデルのデプロイ→Cloud MLEngine
モデルの監視→StackDriver
MLEngineで設定可能な項目
code:text
trainingInput:
scaleTier: CUSTOM
masterType: n1-highcpu-16
workerType: n1-highcpu-16
parameterServerType: n1-highmem-8
evaluatorType: n1-highcpu-16
workerCount: 9
parameterServerCount: 3
evaluatorCount: 1
Cloud MLEngineでの予測結果をGCSに書き出す
バッチ予測
動画コンテンツが複数言語で提供されているプラットフォーム
Speech-to-text
話者の言語を特定できる